package com.chenchen.tiguan.venue.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenchen.tiguan.common.annotation.Excel;
import com.chenchen.tiguan.common.core.domain.BaseEntity;

/**
 * 场馆下属场地及属性对象 venue_court
 * 
 * @author chenchen
 * @date 2025-04-14
 */
public class VenueCourt extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 场地唯一标识 */
    private Long courtId;

    /** 关联场馆ID（需应用层校验） */
    @Excel(name = "关联场馆ID", readConverterExp = "需=应用层校验")
    private Long venueId;

    /** 场地名称（如“羽毛球场1号”） */
    @Excel(name = "场地名称", readConverterExp = "如=“羽毛球场1号”")
    private String courtName;

    /** 场地容量（0表示不限） */
    @Excel(name = "场地容量", readConverterExp = "0=表示不限")
    private Long capacity;

    /** 场地剩余容量 */
    @Excel(name = "场地剩余容量")
    private Long restCapacity;

    /** 状态（1可用，2停用，3维护中） */
    @Excel(name = "状态", readConverterExp = "1=可用，2停用，3维护中")
    private Long status;

    private Venue venue;

    public Venue getVenue() {
        return venue;
    }

    public void setVenue(Venue venue) {
        this.venue = venue;
    }

    public void setCourtId(Long courtId)
    {
        this.courtId = courtId;
    }

    public Long getCourtId() 
    {
        return courtId;
    }
    public void setVenueId(Long venueId) 
    {
        this.venueId = venueId;
    }

    public Long getVenueId() 
    {
        return venueId;
    }
    public void setCourtName(String courtName) 
    {
        this.courtName = courtName;
    }

    public String getCourtName() 
    {
        return courtName;
    }
    public void setCapacity(Long capacity) 
    {
        this.capacity = capacity;
    }

    public Long getCapacity() 
    {
        return capacity;
    }
    public void setRestCapacity(Long restCapacity) 
    {
        this.restCapacity = restCapacity;
    }

    public Long getRestCapacity() 
    {
        return restCapacity;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("courtId", getCourtId())
            .append("venueId", getVenueId())
            .append("courtName", getCourtName())
            .append("capacity", getCapacity())
            .append("restCapacity", getRestCapacity())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("venue", getVenue())
            .toString();
    }
}
